// pages/bookdetail/bookdetail.js
const wxParse = require('../../wxParse/wxParse.js')
const db =wx.cloud.database();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    bookDetail: {},
    title:'',
  },
  addBook:function(data) {
    return db.collection('bookdetail').add({
      data: data
    }).then(res => {
      return res.data
    }).catch(err => {
      throw new Error(err)
    })
  },
  //数据库查找
  searchbook: function (params){
    return db.collection('bookdetail').where({
      id: parseInt(params.id)
    }).get().then(res => {
      return res.data
    }).catch(err => {
      throw new Error(err)
    })
  },
  //请求云函数
  getCloudFn: function (params){
    var _this = this;
    wx.cloud.callFunction({
      name: 'bookdetail',
      data: params,
      success: function (res) {
        wx.hideLoading();
        _this.setData({
          bookDetail: res.result
        })
        wxParse.wxParse('content', 'html', _this.data.bookDetail.content, _this, 5);
        _this.addBook(res.result);//存数据库
      },
      fail: function (err) {
        wx.hideLoading()
        console.error(err)
      }
    })
  },
  getbookDetail: async function(params){
    wx.showLoading({
      title: '加载中。。。'
    })
    let data = await this.searchbook(params);
    if(data.length>0){
      wx.hideLoading();
      this.setData({
        bookDetail: data[0]
      })
      wxParse.wxParse('content', 'html', this.data.bookDetail.content, this, 5);
    }else{
       this.getCloudFn(params);
    }
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log(options)
    wx.setNavigationBarTitle({
      title: options.title
    })
    this.getbookDetail(options);
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})